home *** CD-ROM | disk | FTP | other *** search
/ PsL Monthly 1993 December / PSL Monthly Shareware CD-ROM (December 1993).iso / prgmming / dos / basic / pbtool.exe / JULIAN.BAS < prev    next >
BASIC Source File  |  1991-07-30  |  2KB  |  70 lines

  1. '   PROGRAM:  JULIAN.BAS               PROGRAMMER:  ANDY KELLETT
  2. '   DATE-WRITTEN: 07/08/91             USING TURBO BASIC V1.1
  3. '
  4. '   THIS PROGRAM ALLOWS THE USER TO TO ENTER A DATE AND RETURNS
  5. '   A JULIANIZED DATE.
  6. '
  7. '   LAST-UPDATED: 00/00/00  00:00 PM
  8. '--------------------------------------------------------------------
  9. CLS
  10. GOSUB INITIALIZE
  11. GOSUB ISLEAPYEAR
  12. ISLEAP = 0
  13. JULIAN.DAY% = MONTH.TABLE%(MONTH.NUM%)
  14. IF (ISLEAP > 1 AND MONTH.NUM% > 1) THEN
  15.    JULIAN.DAY% = JULIAN.DAY% + 1
  16. END IF
  17. JULIAN.DAY% = JULIAN.DAY% + DAY.NUM%
  18. PRINT "THE YEAR IS : ";YEAR.NUM%
  19. PRINT "THE DAY IS  : ";JULIAN.DAY%
  20.  
  21. PRINT "THE DATE IS : ";DATE$
  22. PRINT "MONTH NUM   : ";MONTH.NUM%
  23. PRINT "YEAR NUM    : ";YEAR.NUM%
  24. PRINT "DAY NUM     : ";DAY.NUM%
  25.  
  26. END
  27.  
  28. '---
  29. INITIALIZE:
  30.    DIM MONTH.TABLE%(12)
  31.    MONTH.TABLE%(1)  = 31
  32.    MONTH.TABLE%(2)  = 59
  33.    MONTH.TABLE%(3)  = 90
  34.    MONTH.TABLE%(4)  = 120
  35.    MONTH.TABLE%(5)  = 151
  36.    MONTH.TABLE%(6)  = 181
  37.    MONTH.TABLE%(7)  = 212
  38.    MONTH.TABLE%(8)  = 243
  39.    MONTH.TABLE%(9)  = 273
  40.    MONTH.TABLE%(10) = 304
  41.    MONTH.TABLE%(11) = 334
  42.    MONTH.TABLE%(12) = 365
  43.  
  44.    MONTH.NUM% = VAL(LEFT$(DATE$,2))
  45.    DAY.NUM% = VAL(MID$(DATE$,4,2))
  46.    YEAR.NUM% = VAL(RIGHT$(DATE$,2))
  47.    IF MONTH.NUM% > 1 THEN
  48.       MONTH.NUM% = MONTH.NUM% - 1
  49.    END IF
  50.  
  51. RETURN
  52. '
  53. '
  54. '----
  55. ISLEAPYEAR:
  56.    ISLEAP = 0
  57.    YEAR = YEAR.NUM% + 1900 : REM *** USE 1800, 1700, ETC. AS NECESSARY
  58.  
  59.    IF YEAR/4 = INT(YEAR/4) THEN
  60.       ISLEAP = 1
  61.       IF YEAR/100 = INT(YEAR/100) THEN
  62.          ISLEAP = 0
  63.          IF YEAR/400 = INT(YEAR/400) THEN
  64.             ISLEAP = 1
  65.          END IF
  66.       END IF
  67.    END IF
  68.  
  69. RETURN
  70.